package FechaApp;

import FechaApp.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.POAHelper;
import org.omg.PortableServer.POA;
import java.util.*;
import java.io.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class FechaServer {
	public static void main(String args[]) {
		try {
			// crear e inicializar ORB
			ORB orb = ORB.init(args, null);
			// crear un objeto remoto
			FechaImpl impl = new FechaImpl();
			// obtener referencia rootpoa y activar el POAManager
			POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
			rootpoa.the_POAManager().activate();
			// obtener una referencia al objeto remoto
			org.omg.CORBA.Object ref = rootpoa.servant_to_reference(impl);
			Fecha href = FechaHelper.narrow(ref);
			// las siguientes lineas me permiten publicar un obj remoto
			org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
			NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
			// nombre con el cual voy a publicar mi objeto
			String nombre = "Fecha";
			NameComponent path[] = ncRef.to_name(nombre);
			// publicar el objeto
			ncRef.rebind(path, href);
			// ejecutar el orb
			orb.run();
		} catch (Exception e) {
			System.err.println("ERROR: " + e);
		}
	}
}